package com.net.oil.car.contract;

import com.net.oil.base.IBaseModel;
import com.net.oil.car.bean.CarSeriesBean;
import com.net.oil.car.bean.CarTypeBean;

import java.util.List;

/**
 * 作者：lch
 * 时间：2018/4/9 0009:下午 15:27
 * 邮箱：245850413@qq.com
 * 说明：
 */

public interface CarSeriesContract {
    interface Model extends IBaseModel {

        /**
         * 获取车系列表
         * @param brandId   品牌id
         */
        void getCarSeriesList(int brandId);

        /**
         * 获取车型列表
         * @param carSysId 车系id
         */
        void getCarTypeList(int carSysId);
    }

    interface View {

        /**
         * 获取车系列表成功
         * @param carSeriesBeans    车系列表数据
         */
        void getCarSeriesListSuccess(List<CarSeriesBean> carSeriesBeans);

        /**
         * 获取车系列表失败
         */
        void getCarSeriesListFailed();

        /**
         * 获取车型列表成功
         * @param carTypeBeans  车型列表
         */
        void getCarTypeListSuccess(List<CarTypeBean> carTypeBeans);

        /**
         * 获取车型列表失败
         */
        void getCarTypeListFailed();
    }

    interface Presenter {

        /**
         * 获取车系列表
         * @param brandId   品牌id
         */
        void getCarSeriesList(int brandId);

        /**
         * 获取车系列表成功
         * @param carSeriesBeans    车系列表数据
         */
        void getCarSeriesListSuccess(List<CarSeriesBean> carSeriesBeans);

        /**
         * 获取车系列表失败
         */
        void getCarSeriesListFailed();

        /**
         * 获取车型列表
         * @param carSysId 车系id
         */
        void getCarTypeList(int carSysId);

        /**
         * 获取车型列表成功
         * @param carTypeBeans  车型列表
         */
        void getCarTypeListSuccess(List<CarTypeBean> carTypeBeans);

        /**
         * 获取车型列表失败
         */
        void getCarTypeListFailed();
    }
}
